package com.bestcem.xm.ticket.enums;

import lombok.Getter;

/**
 * 模板字段为级联选项时层级的枚举
 *
 * @author ympan <yuming.pan@idiaoyan.com>
 * @version v2.3
 * @date 2021/9/9 21:52
 */
@Getter
public enum TicketTemplateCascadeLevelEnum {

    /**
     * 第一层级
     */
    FIRST_LEVEL("FIRST_LEVEL", 1),

    /**
     * 第二层级
     */
    SECOND_LEVEL("SECOND_LEVEL", 2),

    /**
     * 第三层级
     */
    THIRD_LEVEL("THIRD_LEVEL", 3),

    /**
     * 第四层级
     */
    FOURTH_LEVEL("FOURTH_LEVEL", 4),

    /**
     * 第五层级
     */
    FIFTH_LEVEL("FIFTH_LEVEL", 5);

    private final String name;

    private final Integer index;

    TicketTemplateCascadeLevelEnum(String name, int index) {
        this.name = name;
        this.index = index;
    }

    /**
     * 根据 index 获取枚举实体
     * 找不到则返回 null
     *
     * @param index 枚举index
     * @return 模板字段为级联选项时层级的枚举
     * @author ympan <yuming.pan@idiaoyan.com>
     * @date 21:58 2021/9/9
     */
    public static TicketTemplateCascadeLevelEnum getByIndex(Integer index) {
        for (TicketTemplateCascadeLevelEnum value : values()) {
            if (value.getIndex().equals(index)) {
                return value;
            }
        }
        return null;
    }
}
